package com.vehicle.service;

import com.vehicle.bean.Admin;
import com.vehicle.bean.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vehicle.feignForm.ContactForm;
import com.vehicle.form.UpdateUserForm;
import com.vehicle.vo.UserListVO;
import com.vehicle.vo.UserLoginVO;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 校园车辆管理系统
 * @since 2023-04-17
 */
@Service
public interface UserService extends IService<User> {
    //根据电话号码查询判断用户是否不存在
    public void getUserNotExistByTel(String tel);
    //根据电话号码查询判断用户是否存在
    public User getUserExistByTel(String tel);
    //对密码进行加密,根据电话号码和密码添加用户
    public boolean addUserByTelAndPassword(String tel,String password);

    //根据id修改token
    public UserLoginVO updateToken(User user, String token);

    //修改用户基本信息
    public boolean updateUserBaseMessage(UpdateUserForm userForm);

    //根据token添加用户联系人
    public Boolean createContactByToken(String token, ContactForm contactForm);

    //根据token修改用户联系人
    public Boolean updateContactByToken(ContactForm contactForm);

    //根据token删除用户联系人
    public Boolean deleteContactByToken(String token);

    //获取所有用户信息
    public UserListVO getAllUserList(Integer page, Integer size);

    //删除用户信息
    public boolean deleteUserById(Integer id);

    //添加一个用户
    public UserLoginVO addOnlyOneUser(User user);

    //根据用户id获取手机号
    public String getTelById(Integer id);

    //根据id获取用户名
    public String getUserNameById(Integer id);

    public List<UserLoginVO> getListByContent(String content);

}
